import Vue from 'vue'
import Router from 'vue-router'
import login from '../components/login.vue'
import home from '../components/home.vue'
import welcome from '../components/welcome.vue'
import users from '../components/user/users.vue'
import permission from '../components/permission/permission.vue'
import role from '../components/permission/role.vue'
import goods_category from '../components/goods/goods_category.vue'
import goods_list from '../components/goods/goods_list.vue'
import goods_params from '../components/goods/goods_params.vue'
import addGoods from '../components/goods/addGoods.vue'
import updateGoods from '../components/goods/updateGoods.vue'
import orders_list from '../components/orders/orders_list.vue'
import report from '../components/report/report.vue'
Vue.use(Router)


const router = new Router({
        routes: [{
                path: '/',
                redirect: 'login'
            },
            {
                path: '/login',
                component: login
            },
            {
                path: '/home',
                component: home,
                redirect: '/welcome',
                children: [{
                    path: '/welcome',
                    component: welcome
                }, {
                    path: '/users',
                    component: users
                }, {
                    path: '/rights',
                    component: permission
                }, {
                    path: '/roles',
                    component: role
                }, {
                    path: '/categories',
                    component: goods_category
                }, {
                    path: '/goods',
                    component: goods_list
                }, {
                    path: '/params',
                    component: goods_params
                }, {
                    path: '/goods/addGoods',
                    component: addGoods
                }, {
                    path: '/goods/updateGoods',
                    name: 'updateGoods',
                    component: updateGoods
                }, {
                    path: '/orders',
                    component: orders_list
                }, {
                    path: '/reports',
                    component: report
                }]
            }
        ],
    })
    // 挂载路由导航守卫
router.beforeEach((to, from, next) => {
    /*
    to  将要访问的路径
    from 从哪个路径跳转而来
    next 函数,表示放行
     */
    if (to.path === '/login') return next()
    const tokenStr = window.sessionStorage.getItem('token')
    if (!tokenStr) return next('/login')
    next()
})

export default router